#ifndef SCENE_H
#define SCENE_H

#include "GL/glew.h"
#include "Common/CommonList.h"
#include "Objects/GraphicComponent.h"
#include "Rendering/Camera.h"

class Scene
{
public:
	Scene(void);
	virtual ~Scene(void);
	void Init(GLuint aProgramId);
	void Update(float aElapsedTime, bool aTransposeMatrix);

	Camera*	GetMainCamera() {return mCamera; }
	void SetProjectionMatrix (const Matrix* aMat) { mProjectionMatrix = aMat;}


private:
	CommonList<GraphicComponent*> mObjects;

	Camera* mCamera;
	const Matrix* mProjectionMatrix;

	GLuint mProgramID;
	GLuint mUniform1;
	GLuint mMVPUniform;
};

#endif // Scene_H

